Machine learning is the field of study where a computer or computers learn to perform classes of tasks using the feedback generated from the experience the machine learning process gains from computer performance of those tasks.
Machine learning is classified into three main categories: (i) supervised learning; (ii) unsupervised learning and (iii) reinforcement learning.
Supervised machine learning is concerned with a computer learning one or more rules or functions to map between example inputs and desired outputs as predetermined by an operator or programmer, usually where a data set containing the inputs is labelled.
Unsupervised learning may be concerned with determining a structure for input data, for example when performing pattern recognition, and may use unlabelled data sets.
Reinforcement learning may be concerned with enabling a computer or computers to interact with a dynamic environment, for example determining how well a machine performs the learning.
There are variations and specialised approaches which fall in-between or outside these categories, such as “semi-supervised” machine learning where a training data set has only been partially labelled.
For unsupervised machine learning, there is a range of possible applications such as, for example, the application of computer vision techniques to visual data processing. Unsupervised machine learning may be applied to solve problems where an unknown data structure might be present in the data. As the data is unlabelled, the machine learning process is required to operate to identify implicit relationships between the data for example by deriving a clustering metric based on internally derived information. For example, an unsupervised learning technique can be used to reduce the dimensionality of a data set and attempt to identify and model relationships between clusters in the data set, and can for example generate measures of cluster membership or identify hubs or nodes in or between clusters (for example using a technique referred to as weighted correlation network analysis, which can be applied to high-dimensional data sets, or using k-means clustering to cluster data by a measure of the Euclidean distance between each datum).
Semi-supervised learning may be applied to solve problems where there is a partially labelled data set, for example where only a subset of the data is labelled. Semi-supervised machine learning makes use of externally provided labels and objective functions as well as any implicit data relationships.
When initially configuring a machine learning system, when using a supervised machine learning approach, the machine learning algorithm can be provided with some training data or a set of training examples, in which each example may be a pair of an input signal/vector and a desired output value, label (or classification) or signal. The machine learning algorithm analyses the training data and produces a generalised function that can be used with unseen data sets to produce desired output values or signals for the unseen input vectors/signals. The user needs to decide what type of data is to be used as the training data, and to prepare a representative real-world set of data. The user must however take care to ensure that the training data contains enough information to accurately predict desired output values. The machine learning algorithm must be provided with enough data so as to be able to correctly learn and model for the dimensionality of the problem they are trying to solve, without providing too many features (which can result in too many dimensions being considered by the machine learning process during training). The user must also determine the desired structure of the learned or generalised function, for example whether to use support vector machines or decision trees.
The use of unsupervised or semi-supervised machine learning approaches are often used when labelled data is not readily available, or where the system generates new labelled data from unknown data given some initial seed labels.
For example, for the case where machine learning is used for visual data processing, using dictionary representations for images, techniques are generally referred to as dictionary learning. In dictionary learning, where sufficient representations, or atoms, are not available in a dictionary to enable accurate representation of an image, machine learning techniques can be employed to tailor dictionary atoms such that they can more accurately represent the image features and thus obtain more accurate representations.
When using machine learning where there is an objective function and optimisation process, for example where using sparse coding principles, a training process is used to find optimal representations that can best represent a given signal or labelling (where the labelling can be externally provided such as in supervised or semi-supervised learning or where the labelling is implicit within the data as for unsupervised learning), subject to predetermined initial conditions such as a level of sparsity.
Many current methods of neural-network super resolution use a least squares objective or a variant thereof such as peak signal-to-noise ratio. Generally the training objective is represented by:
                              min          θ                ⁢                              𝔼                          x              ,              y                                ⁢                                                                  y                -                                                      y                    ^                                    ⁡                                      (                                          x                      ;                      θ                                        )                                                                                      2            2                                              Equation        ⁢                                  ⁢        1            where x is a low resolution image, y is a high resolution image, and ŷ is an estimate of the high resolution image generated by a neural network with the parameters of θ.
When provided with other variables and/or inputs neural networks may also be used for visual data denoising and reconstruction. However, typical neural networks when used for this purpose, require the input of the image to be processed and the output to be as close as possible to the desired noiseless/reconstructed image.